<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<h:head>

	<style type="text/css">
.ui-layout-north {
	z-index: 20 !important;
	overflow: visible;
}

.ui-layout-north .ui-layout-unit-content {
	overflow: visible;
}

.ui-widget {
	font-size: 9px !important;
}

.centro {
	top: 50%
}

.tabela {
	width: 750px;
}

.size {
	width: 800px;
	position: absolute;
	left: 16%;
	top: 10%;
}
</style>

	<script type="text/javascript">
		PrimeFaces.locales['pt'] = {
			closeText : 'Fechar',
			prevText : 'Anterior',
			nextText : 'Próximo',
			currentText : 'Começo',
			monthNames : [ 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio',
					'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro',
					'Novembro', 'Dezembro' ],
			monthNamesShort : [ 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
					'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez' ],
			dayNames : [ 'Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta',
					'Sexta', 'Sábado' ],
			dayNamesShort : [ 'Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb' ],
			dayNamesMin : [ 'D', 'S', 'T', 'Q', 'Q', 'S', 'S' ],
			weekHeader : 'Semana',
			firstDay : 0,
			isRTL : false,
			showMonthAfterYear : false,
			yearSuffix : '',
			timeOnlyTitle : 'Só Horas',
			timeText : 'Tempo',
			hourText : 'Hora',
			minuteText : 'Minuto',
			secondText : 'Segundo',
			ampm : false,
			month : 'Mês',
			week : 'Semana',
			day : 'Dia',
			allDayText : 'Todo o Dia'
		};
	</script>

	<title>Agendamento de Recursos</title>
</h:head>

<h:body>

	<ui:decorate template="/templateBase.xhtml">
		<ui:define name="center">
			<p:growl id="growl" life="3000" autoUpdate="true" />
			<h:form id="formAgenda" acceptcharset="ISO-8859-1" lang="pt">
				<br />
				<br />
				<br />
				<p:panel styleClass="size" header="Agendamento de Recursos"
					footer="Integração - Portal de Serviços e Comunicação"
					id="panelAgendamentos">
					<br />
					<p:tabView id="tabView">

						<p:tab title="Agenda de Multimídias" id="tabAgendamento">
							<br />

							<h:panelGrid columns="5">
								<h:panelGrid>
									<h:outputText value="Data do Agendamento" />
									<p:calendar size="20" locale="pt"
										value="#{agendaRecursoBacking.dataInformada}">
										<p:ajax
											listener="#{agendaRecursoBacking.criaListaEquipamentoAgendado}"
											event="blur" process="@this" update="tblEquipamentos" />
									</p:calendar>
								</h:panelGrid>
							</h:panelGrid>
							<br />
							<p:separator />
							<br />
							<p:fieldset legend="Agendamentos realizados" id="fieldTabela">
								<p:dataTable id="tblEquipamentos"
									value="#{agendaRecursoBacking.listaAgenda}" var="a"
									emptyMessage="Nenhum equipamento disponível para a data e horário informado!">

									<p:column headerText="Descrição">
										<div align="center">
											<h:outputText
												value="#{a.equipamento.marca.descricao} - #{a.equipamento.descricao}" />
										</div>
									</p:column>

									<p:column headerText="Sala">
										<div align="center">
											<h:outputText value="#{a.sala.descricao}" />
										</div>
									</p:column>

									<p:column headerText="Docente">
										<div align="center">
											<h:outputText value="#{a.docente.nome}" />
										</div>
									</p:column>

									<p:column headerText="Período">
										<div align="center">
											<h:outputText value="#{a.horaInicial} / #{a.horaFinal}" />
										</div>
									</p:column>

									<p:column headerText="Funcionário">
										<div align="center">
											<h:outputText value="#{a.funcionario.nome}" />
										</div>
									</p:column>

									<p:column headerText="Agendado em">
										<div align="center">
											<h:outputText value="#{a.dataAgendamento}">
												<f:convertDateTime pattern="dd/MM/yyyy" />
											</h:outputText>
										</div>
									</p:column>

									<p:column headerText="Ações">
										<div align="center">
											<p:commandButton icon="ui-icon-cancel"
												oncomplete="dlgCancela.show()" title="Cancelar Agendamento"
												actionListener="#{agendaRecursoBacking.selecionaAgendamento(a)}" />
										</div>
									</p:column>

								</p:dataTable>
							</p:fieldset>
							<br />
							<div align="center">
								<h:panelGrid columns="2">
									<p:commandButton value="Novo Agendamento"
										icon="ui-icon-circle-plus" oncomplete="dlgNovo.show()" />
									<p:commandButton value="Limpar Formulário"
										icon="ui-icon-cancel" />
								</h:panelGrid>
							</div>
						</p:tab>

						<p:tab title="Calendário de Agendamento">

							<p:schedule value="#{agendaRecursoBacking.eventModel}"
								locale="pt" axisFormat="H:mm" timeFormat="H:mm" />

						</p:tab>

					</p:tabView>
				</p:panel>
			</h:form>

			<p:dialog widgetVar="dlgNovo" height="350" width="400"
				showEffect="clip" hideEffect="clip" header="Novo Agendamento"
				footer="Integração - Portal de Serviços e Comunicação">
				<h:form id="formNovo">
					<br />
					<h:selectOneRadio
						value="#{agendaRecursoBacking.codTipoSelecionado}">
						<f:selectItem itemLabel="Docente" itemValue="0" />
						<f:selectItem itemLabel="Funcionário" itemValue="1"
							itemDisabled="true" />
						<f:selectItem itemLabel="Outros" itemValue="2" itemDisabled="true" />
						<p:ajax listener="#{agendaRecursoBacking.verificaTipoPessoa}"
							update="formNovo" />
					</h:selectOneRadio>
					<br />

					<h:outputText value="#{agendaRecursoBacking.txtTipoSelecionado}" />
					<h:panelGrid columns="3">

						<p:inputText size="50" readonly="true"
							value="#{agendaRecursoBacking.nomeDocente}" id="txtDocente"
							rendered="#{agendaRecursoBacking.inputDocente}" />
						<p:commandButton icon="ui-icon-search"
							rendered="#{agendaRecursoBacking.btnDocente}"
							oncomplete="dlgDocente.show()" update=":formDocente:tblDocente"
							process="@this" />


						<p:inputText size="50" readonly="true"
							rendered="#{agendaRecursoBacking.inputFuncionario}" />
						<p:commandButton icon="ui-icon-search"
							rendered="#{agendaRecursoBacking.btnFuncionario}" />


						<p:inputText size="50"
							rendered="#{agendaRecursoBacking.inputOutros}" />
					</h:panelGrid>

					<h:panelGrid>
						<h:outputText value="Periodicidade" />
						<p:selectOneMenu value="#{agendaRecursoBacking.agSalvar.periodo}"
							required="true" requiredMessage="Informe o período!">
							<f:selectItem itemDisabled="true" itemLabel="Selecione" />
							<f:selectItem itemLabel="Apenas uma vez"
								itemValue="Apenas uma vez" />
							<!-- 
							<f:selectItem itemLabel="Mensalmente" itemValue="Mensalmente"
								itemDisabled="true" />
								 -->
						</p:selectOneMenu>
					</h:panelGrid>

					<h:panelGrid>
						<h:outputText value="Equipamento" />
						<p:selectOneMenu required="true"
							requiredMessage="Informe o equipamento!"
							value="#{agendaRecursoBacking.codEquipamentoSelecionado}">
							<f:selectItem itemLabel="Selecione" itemDisabled="true" />
							<f:selectItems value="#{agendaRecursoBacking.listaEquipamentos}"
								var="e" itemLabel="#{e.marca.descricao} - #{e.descricao}"
								itemValue="#{e.id}" />
						</p:selectOneMenu>
					</h:panelGrid>

					<h:panelGrid>
						<h:outputText value="Sala" />
						<p:selectOneMenu required="true" requiredMessage="Informe a sala!"
							value="#{agendaRecursoBacking.codSalaSelecionada}">
							<f:selectItem itemLabel="Selecione" itemDisabled="true" />
							<f:selectItems value="#{agendaRecursoBacking.listaSala}" var="s"
								itemLabel="#{s.descricao}" itemValue="#{s.id}" />
						</p:selectOneMenu>
					</h:panelGrid>

					<h:panelGrid columns="2">
						<h:panelGrid>
							<h:outputText value="Horário Inicial" />
							<p:inputMask mask="99:99" required="true"
								requiredMessage="Informe o horário inicial!"
								value="#{agendaRecursoBacking.horaInicial}" />
						</h:panelGrid>

						<h:panelGrid>
							<h:outputText value="Horário Final" />
							<p:inputMask mask="99:99" required="true"
								requiredMessage="Informe o horário final!"
								value="#{agendaRecursoBacking.horaFinal}" />
						</h:panelGrid>
					</h:panelGrid>

					<br />
					<p:separator />
					<br />
					<div align="center">
						<h:panelGrid columns="2">
							<p:commandButton value="Gravar"
								update=":formAgenda:panelAgendamentos, :formNovo"
								actionListener="#{agendaRecursoBacking.salvaAgendamento}">
								<f:ajax render="formAgenda" event="click" />
							</p:commandButton>
							<p:commandButton value="Cancelar" />
						</h:panelGrid>
					</div>
				</h:form>
			</p:dialog>


			<p:dialog widgetVar="dlgDocente" height="400" width="500"
				appendToBody="true" showEffect="clip" hideEffect="clip"
				header="Docentes"
				footer="Integração - Portal de Serviços e Comunicação">
				<h:form id="formDocente">
					<br />
					<p:dataTable emptyMessage="Nenhum docente encontrado!"
						paginator="true" rows="10" id="tblDocente"
						value="#{agendaRecursoBacking.listaDocente}" var="d">

						<p:column headerText="ID">
							<div align="center">
								<h:outputText value="#{d.idOrion}" />
							</div>
						</p:column>

						<p:column headerText="Nome">

							<h:outputText value="#{d.nome}" />

						</p:column>

						<p:column headerText="Selecionar">
							<div align="center">
								<p:commandButton icon="ui-icon-check"
									actionListener="#{agendaRecursoBacking.selecionaDocente(d)}"
									oncomplete="dlgDocente.hide()" update=":formNovo:txtDocente" />
							</div>
						</p:column>

					</p:dataTable>
				</h:form>
			</p:dialog>

			<p:dialog widgetVar="dlgCancela" height="100" width="250"
				showEffect="clip" hideEffect="clip" header="Cancela Agendamento">

				<h:form id="formCancelaAgendamento">
					<br />
				Deseja cancelar o agendamento selecionado?
				<br />
					<br />
					<div align="center">
						<h:panelGrid columns="2">
							<p:commandButton value="Sim"
								actionListener="#{agendaRecursoBacking.cancelaAgendamento}"
								ajax="false" update=":formAgenda:tblEquipamentos"
								process="@this" />
							<p:commandButton value="Não" oncomplete="dlgCancela.hide()" />
						</h:panelGrid>
					</div>
				</h:form>
			</p:dialog>

		</ui:define>
	</ui:decorate>
</h:body>
</html>